home *** CD-ROM | disk | FTP | other *** search
- package com.ms.lang;
-
- import java.util.Date;
-
- public class RegKey {
- private static final int HKEY_CLASSES_ROOT = Integer.MIN_VALUE;
- private static final int HKEY_CURRENT_USER = -2147483647;
- private static final int HKEY_LOCAL_MACHINE = -2147483646;
- private static final int HKEY_USERS = -2147483645;
- public static final int KEYOPEN_READ = 1;
- public static final int KEYOPEN_WRITE = 2;
- public static final int KEYOPEN_ALL = 3;
- public static final int KEYOPEN_CREATE = 4;
- public static final int CLASSES_ROOT = 1;
- public static final int LOCALMACHINE_ROOT = 2;
- public static final int USER_ROOT = 3;
- public static final int USERS_ROOT = 4;
- private boolean keyOpen;
- private int regKey;
- private boolean fullKey;
- private static final RegKey hkeyClassesRoot = new RegKey(-2147483648L);
- private static final RegKey hkeyCurrentUser = new RegKey(-2147483647L);
- private static final RegKey hkeyLocalMachine = new RegKey(-2147483646L);
- private static final RegKey hkeyUsers = new RegKey(-2147483645L);
-
- public String getStringValue(String var1) {
- return this.pRegQueryStringValue(var1);
- }
-
- private native void pRegSetIntValue(String var1, int var2);
-
- private native void pRegDeleteValue(String var1);
-
- private RegKey(long var1) {
- this.pRegOpenBaseKey((int)var1);
- }
-
- public static final RegKey getRootKey(int var0) {
- SecurityManager var1 = System.getSecurityManager();
- if (var1 != null) {
- var1.checkRegistry();
- }
-
- switch (var0) {
- case 1:
- return hkeyClassesRoot;
- case 2:
- return hkeyLocalMachine;
- case 3:
- return hkeyCurrentUser;
- case 4:
- return hkeyUsers;
- default:
- return null;
- }
- }
-
- public RegKey(RegKey var1, String var2, int var3) {
- SecurityManager var4 = System.getSecurityManager();
- if (var4 != null) {
- var4.checkRegistry();
- }
-
- if (var3 == 4) {
- this.pRegCreateKey(var1, var2);
- } else {
- this.pRegOpenKey(var1, var2, var3);
- }
-
- }
-
- public RegQueryInfo queryInfo() {
- RegQueryInfo var1 = new RegQueryInfo();
- int var2 = this.pRegQueryInfoKey(var1);
- if (var2 != 0) {
- int var3 = var2 & 31;
- var2 >>= 5;
- int var4 = (var2 & 15) - 1;
- var2 >>= 4;
- int var5 = (var2 & 127) + 1980 - 1900;
- var2 >>= 7;
- var2 >>= 5;
- int var6 = var2 & 63;
- var2 >>= 6;
- int var7 = var2 & 31;
- var1.lastWriteTime = new Date(var5, var4, var3, var7, var6);
- } else {
- var1.lastWriteTime = null;
- }
-
- return var1;
- }
-
- private native void pRegOpenKey(RegKey var1, String var2, int var3);
-
- public void unload(String var1) {
- this.pRegUnLoadKey(var1);
- }
-
- public void deleteSubKey(String var1) {
- this.pRegDeleteKey(var1);
- }
-
- private native void pRegCreateKey(RegKey var1, String var2);
-
- private native void pRegDeleteKey(String var1);
-
- public void restore(String var1, boolean var2) {
- this.pRegRestoreKey(var1, var2);
- }
-
- public void flush() {
- this.pRegFlushKey();
- }
-
- private native void pRegCloseKey();
-
- private native int pRegQueryInfoKey(RegQueryInfo var1);
-
- private native void pRegSetStringValue(String var1, String var2);
-
- private native void pRegOpenBaseKey(int var1);
-
- private native void pRegSetBinaryValue(String var1, byte[] var2);
-
- private native byte[] pRegQueryBinaryValue(String var1);
-
- private native String pRegQueryStringValue(String var1);
-
- public String enumKey(int var1) {
- return this.pRegEnumKey(var1);
- }
-
- public void loadKey(String var1, String var2) {
- this.pRegLoadKey(var1, var2);
- }
-
- private native void pRegLoadKey(String var1, String var2);
-
- private native String pRegEnumKey(int var1);
-
- private native void pRegRestoreKey(String var1, boolean var2);
-
- private native void pRegReplaceKey(String var1, String var2, String var3);
-
- public void finalize() {
- if (this.keyOpen) {
- this.close();
- }
-
- }
-
- public RegKeyEnumValue enumValue(int var1) {
- return this.pRegEnumValue(var1);
- }
-
- public void setValue(String var1, String var2) {
- this.pRegSetStringValue(var1, var2);
- }
-
- public void setValue(String var1, byte[] var2) {
- this.pRegSetBinaryValue(var1, var2);
- }
-
- private native void pRegUnLoadKey(String var1);
-
- public void deleteValue(String var1) {
- this.pRegDeleteValue(var1);
- }
-
- public int getIntValue(String var1) {
- return this.pRegQueryIntValue(var1);
- }
-
- public void setValue(String var1, int var2) {
- this.pRegSetIntValue(var1, var2);
- }
-
- public void close() {
- this.pRegCloseKey();
- this.keyOpen = false;
- }
-
- private native RegKeyEnumValue pRegEnumValue(int var1);
-
- public void replace(String var1, String var2, String var3) {
- this.pRegReplaceKey(var1, var2, var3);
- }
-
- private native void pRegFlushKey();
-
- private native int pRegQueryIntValue(String var1);
-
- public byte[] getBinaryValue(String var1) {
- return this.pRegQueryBinaryValue(var1);
- }
- }
-